package com.ztorn.fiscale.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ztorn.common.core.annotation.Excel;
import com.ztorn.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 数据校验规则对象 fiscale_validation_rule
 *
 * @author ztorn
 * @date 2025-01-19
 */
public class FiscaleValidationRule extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 规则ID */
    private Long ruleId;

    /** 规则编码 */
    @Excel(name = "规则编码")
    private String ruleCode;

    /** 规则名称 */
    @Excel(name = "规则名称")
    private String ruleName;

    /** 规则类型(required-必填,format-格式,logic-逻辑) */
    @Excel(name = "规则类型", readConverterExp = "required=必填,format=格式,logic=逻辑")
    private String ruleType;

    /** 字段名称 */
    @Excel(name = "字段名称")
    private String fieldName;

    /** 规则表达式 */
    private String ruleExpression;

    /** 错误提示信息 */
    @Excel(name = "错误提示信息")
    private String errorMessage;

    /** HS编码模式(特定HS编码适用) */
    @Excel(name = "HS编码模式")
    private String hsCodePattern;

    /** 适用贸易方式 */
    @Excel(name = "适用贸易方式")
    private String tradeMode;

    /** 优先级 */
    @Excel(name = "优先级")
    private Integer priority;

    /** 状态(0-启用,1-禁用) */
    @Excel(name = "状态", readConverterExp = "0=启用,1=禁用")
    private String status;

    public void setRuleId(Long ruleId) 
    {
        this.ruleId = ruleId;
    }

    public Long getRuleId() 
    {
        return ruleId;
    }
    public void setRuleCode(String ruleCode) 
    {
        this.ruleCode = ruleCode;
    }

    public String getRuleCode() 
    {
        return ruleCode;
    }
    public void setRuleName(String ruleName) 
    {
        this.ruleName = ruleName;
    }

    public String getRuleName() 
    {
        return ruleName;
    }
    public void setRuleType(String ruleType) 
    {
        this.ruleType = ruleType;
    }

    public String getRuleType() 
    {
        return ruleType;
    }
    public void setFieldName(String fieldName) 
    {
        this.fieldName = fieldName;
    }

    public String getFieldName() 
    {
        return fieldName;
    }
    public void setRuleExpression(String ruleExpression) 
    {
        this.ruleExpression = ruleExpression;
    }

    public String getRuleExpression() 
    {
        return ruleExpression;
    }
    public void setErrorMessage(String errorMessage) 
    {
        this.errorMessage = errorMessage;
    }

    public String getErrorMessage() 
    {
        return errorMessage;
    }
    public void setHsCodePattern(String hsCodePattern) 
    {
        this.hsCodePattern = hsCodePattern;
    }

    public String getHsCodePattern() 
    {
        return hsCodePattern;
    }
    public void setTradeMode(String tradeMode) 
    {
        this.tradeMode = tradeMode;
    }

    public String getTradeMode() 
    {
        return tradeMode;
    }
    public void setPriority(Integer priority) 
    {
        this.priority = priority;
    }

    public Integer getPriority() 
    {
        return priority;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("ruleId", getRuleId())
            .append("ruleCode", getRuleCode())
            .append("ruleName", getRuleName())
            .append("ruleType", getRuleType())
            .append("fieldName", getFieldName())
            .append("ruleExpression", getRuleExpression())
            .append("errorMessage", getErrorMessage())
            .append("hsCodePattern", getHsCodePattern())
            .append("tradeMode", getTradeMode())
            .append("priority", getPriority())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}